//
// Created by admin on 2024/7/19.
//
//
// 从有序顺序表中删除其值在给定值 s 与 t 之间(要求 s<t)的所有元素，若 s 或 t 不合理或顺序表为空，则显示出错信息并退出运行
//
#include "iostream"
#define MaxSize 50
typedef struct
{
    int data[MaxSize];
    int length;
}SqList;

void InitList(SqList &L)
{
    L.length = 0;
}

bool DeleteElement(SqList &L,int s,int t)
{
    if(L.length == 0)
        return false;
    if(s >= t)
        return false;
    int k = 0;
    for(int i = 0;i < L.length;i++){
        if(L.data[i] < s || L.data[i] > t ){
            if (i+1 < L.length) {
                L.data[k++]=L.data[i];
            }
        }
    }
    L.length = k;
    return true;
}

int main()
{
    SqList L;
    InitList(L);
    int a[10] = {5,2,1,4,3,8,7,9,6,3};
    for(int i = 0;i < 10;i++)
    {
        L.data[i] = a[i];
    }
    L.length = 10;
    int s = 2;
    int t = 6;
    DeleteElement(L,s,t);
    printf("删除后的顺序表为：");
    for(int b = 0;b < L.length;b++)
    {
        printf("%d",L.data[b]);
    }
    return 0;
}